# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：5.04 返回值.py
# 开发时间：2021/3/24 15:30


# 返回值，函数执行以后返回的结果
# 可以通过return指定函数返回值
# 可以直接使用函数的返回值，也可通过一个变量接收保存函数返回值
# 求任意个数的和
def nums(*num):
    # 定义一个变量保存结果
    result = 0
    # 遍历元组，求和累加
    for n in num:
        result += n
    # return 后跟着什么就返回什么
    return result


# 一个函数的执行结果即为其返回值
rs = nums(1, 2, 3, 4)
# print('nums = ', rs, type(rs))


# 返回值也可以是一个函数对象（初次见）
def fn():
    def fn2():
        print('hello!')
    return fn2


r = fn()  # 这个函数fn()的执行结果即为返回值
print(r, type(r))
# 如果仅仅写一个 return 或者不写 return，默认return None
# 一旦执行return 其后的代码都不会执行，相当于break一样


# break、continue、return的区别
def rt():
    for i in range(5):
        if i == 3:
            # break  # 结束循环
            # continue  # 结束单次循环
            return  # 结束函数
        print(i)
    print('循环体执行结束')


rt()


# 函数对象print与函数print()的区别
print(print)  # print是函数对象，打印函数对象
print(print())  # print()是函数，打印函数返回值
